對QA工程師而言,使用者場景(User Scenario)是設計測試策略裡相當重要的一環。
原因很直覺,你的測試必須對應到使用者會如何使用你的產品,
於此同時確保產品的功能、可用性、商業邏輯等等項目是符合我們的預期。
在軟體開發的過程中,QA工程師常會跟以下幾個角色密切合作:
RD設計產品的時候,會從我們想提供的服務去做功能面的單元測試
而QA要做的事情,是把每個功能開關的各種組合去做交叉測試,
確保功能間各自獨立,不會相互影響,且功能符合預期的正常運作。
舉例來說,常常遇到的一種Bug是,當我開了A功能之後,B功能的某個部分會出問題
但是把A功能關掉之後,B功能就不會有問題。
這種bug通常出現在程式邏輯的判斷有問題,或是共用function改動產生的副作用
如果只單測A功能或是單測B功能就沒辦法發現問題,
通常可以透過QA做的整合測試(Integration test)來發現A B兩功能整合的問題。
QA工程師在測試規劃階段,也常會直接跟產品的UI/UX設計師合作
來確保使用者用到的東西是可用且符合產品設計概念與使用方法。
舉個例子,在網站或App上看到三個點或是三條線的漢堡選單(Hamburger Menu)
大家都會很直覺的知道說,這個按鈕點下去,裡面會有更多功能與選單
那使用者繼續點其中登入選單之後,瀏覽器會跳出一個新視窗還是開新分頁
還是跳出內嵌彈出式視窗,或是很簡單就在同一頁跳出登入頁面。
這些預期效果沒有對或錯,但QA要確保相似功能有一致的表現方式。
如果在同個產品裡,四個選單都用不同方式跳出來,設計師跟使用者都會很困惑的XD
這種情況可以透過QA做的可用性測試(Usability test)來確保軟體使用上的品質。
產品通常都會牽涉到商業邏輯跟免費付費的,除非你是做WinRAR(誤)
舉凡授權(License)、訂閱(Subscription)等等商業邏輯,
再加上免費版有什麼功能,付費版會有什麼功能,對一個產品的切分也非常重要
除了確保免費仔在付費之前都沒辦法變得尊絕不凡,也要保證乾爹能坐享清福。
QA工程師作為「使用者」的代言人,需要把自己當成使用者去發想你的測試計畫
「使用者會怎麼買授權?直接從網站刷卡訂閱,還是跟業務拿License註冊?」
「登入帳號密碼如果輸入中文或符號,會不會讓前端網頁死掉?」
「如果全站滿三千免運費活動,再用一張生日折價券,總價不足三千能不能收到運費?」
以上這些看起來想很多的使用者場景,可能都是QA工程師的日常
不論是一般使用者或是想鑽漏洞的技術使用者,都是QA要考慮到的使用者場景。
軟體開發常遇到三不管地帶的bug,團隊中沒有人想過、測試過,那就不會有人發現
很多現實中複雜但卻常遇到的情況,需要靠一個看到全局的角色來去規劃並執行測試
而這個集強迫症跟責任感於一身的角色就是QA工程師。
那我們怎麼把這些腦袋裡想的東西變成有邏輯的測試項目呢?
下篇我們來聊聊測試策略與測試計畫。